home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
PsL Monthly 1993 December
/
PSL Monthly Shareware CD-ROM (December 1993).iso
/
prgmming
/
dos
/
c
/
rcs.exe
/
CACHE.H
< prev
Wrap
C/C++ Source or Header
|
1992-05-20
|
1KB
|
39 lines
#ifndef _CACHE
#define _CACHE
struct cache_block
{
struct cache_block *next;
unsigned short sector;
unsigned char drive;
unsigned char status;
unsigned char data[1];
};
struct cache
{
unsigned short error_sector;
unsigned short error_drive;
unsigned short sector_size;
unsigned (*drive_access)(int, unsigned, unsigned, void *);
struct cache_block *first;
struct cache_block *last;
};
#define CACHE_FLUSH (1<<0)
#define CACHE_CLEAR (1<<1)
struct cache *cache_initialize(unsigned (*)(int, unsigned, unsigned, void *),
unsigned, unsigned);
unsigned cache_access(struct cache *, int, unsigned, unsigned, void *);
unsigned cache_flush_and_or_clear(struct cache *, int, int);
void cache_free(struct cache *);
#define cache_flush(q,d) cache_flush_and_or_clear(q,d,CACHE_FLUSH)
#define cache_clear(q,d) cache_flush_and_or_clear(q,d,CACHE_CLEAR)
#define cache_flush_and_clear(q,d) \
cache_flush_and_or_clear(q,d,CACHE_FLUSH+CACHE_CLEAR)
#endif